The present invention relates to computer communications, and more particularly to improving data transfer rates when managing remote systems via computer communications.
Communication between one computer and another is extremely important in today""s society. Vast quantities of data and information are constantly being transferred from one location to another, with the need for improved computer communications methods growing as businesses and individuals become ever more dependent on receiving information and data as quickly and inexpensively as possible.
For communications between computers, the proper hardware (physical equipment) must be available. At a minimum, there must be at least two computers, each with the appropriate communications hardware. Typically, there are two communications methods. The first is where the two computers use modems to communicate via the phone lines. The first computer establishes a connection by having its modem dial the phone number of the modem attached to the second computer which, in turn, answers the call. This establishes a xe2x80x9ccircuit-switched connectionxe2x80x9d, which simply means that there is a dedicated communication path between the two computers. The two computers then begin a communication session.
A variation of this first method uses what is known as a null modem cable, which physically links the two computers together so that they share a dedicated, direct path to one another. Communication over a null modem cable works the same way that modem based communication works from the viewpoints of the computers involved, except that no dial-up or call answering process is required. Both variations of this method are referred to as serial communications.
The second method for establishing the link requires both computers to be attached to a common data network based on, for example, the set of TCP/IP (xe2x80x9ctransmission control protocol/internet protocolxe2x80x9d) standards. Here, the first computer builds a connection to the second computer by xe2x80x9ccallingxe2x80x9d the second computer on a prearranged network address and port. Network ports are roughly analogous to a set of different phone numbers that apply to a single computer at a given address, e.g. a server, which is typically a centralized computer containing a large storage of data which other computers access periodically. Having many different ports allow different programs running on the server, at the same time, to listen for connections without interfering with one another. The server accepts connections on specified ports, and the two computers begin a communication session. This method uses xe2x80x9cpacket switchingxe2x80x9d which, instead of serially transmitting data, transmits data in packets that are size-limited groups of data, each of which carries the associated destination address. Packet switching increases the efficiency of the communication between the computers.
FIG. 1 shows a known OSI diagram of the protocols for a common network, e.g. the INTERNET, that uses the TCP/IP protocols. The xe2x80x9clevelsxe2x80x9d correspond to the hierarchy of layers in the computer communication process. At the top is the application level, which corresponds to the programs with which a user interacts with directly on a computer (a CAD program for example). The presentation level programs format one system""s data so that it is compatible with another computer. At the session level, programs synchronize communications and manage the exchange of data. A number of different protocols are used at these levels with the communication performance varying accordingly.
The low-layer protocols, which coordinate the actual data transfer, exist below the session level. At the transport level, the TCP has methods for establishing virtual circuits, error correction, and information flow control. At the network level, the IP has methods for routing, ensuring that the data is transferred over the best path through the network and sub-networks. At the physical level, matters such as physical addressing, electrical characteristics (e.g. at what voltages a modem or network card sees a bit), and mechanical specifications are established, typically internally and proprietarily in the communications hardware.
One type of computer communication situation is where a user needs to download information from a voice-mail server computer to the user""s xe2x80x9cclientxe2x80x9d computer. The information can be system status data, administrative data (information about how many calls are received in each voice mailbox, cost summaries, statistical data, usage summaries, etc.), or the like. For large companies having large voice-mail systems, the information download time is often considerable, especially if older protocols and serial-based communication are employed.
One large scale telecommunication systems producer is Lucent Technologies (xe2x80x9cLucentxe2x80x9d). Lucent markets several lines of corporate voice-mail system products for its many business customers. Quite often such customers require extensive voice-mail system reporting capabilities so that the support personnel can track system usage, respond to problems quickly, and plan for future expansion.
This reporting capability can be implemented in a reporting/administration/database software package. For example, computer software sold under the trademark VMACS-Plus by Vitel Software Inc. of Worcester, Mass., provides this functionality. In the past, a software component developed by Lucent was used in conjunction with the VMACS-Plus software to collect raw data from the voice-mail systems for the reports. This xe2x80x9cAdministration and Data Acquisition Packagexe2x80x9d (ADAP) consists of a set of DOS-based programs that run on the client""s computer and a corresponding server program that runs on the voice-mail computer system itself. The client (user)-side ADAP software would establish a dial-up connection to the voice mail machine, launch the server software, transfer the requested data from the server using the well known KERMIT file transfer protocol developed by Columbia University, and disconnect when finished. VMACS-Plus used the ADAP software to conduct a polling or communication session by calling the DOS executables with the necessary command line parameters to retrieve the necessary data. The outputs of these programs were then captured and parsed by VMACS-Plus for inclusion in its database. The relationship of the components in the system just described are illustrated in FIG. 2.
Although this method for collecting raw data functions reasonably, it is disadvantageous for three reasons:
1) The ADAP client supports only serial-based communication using a modem, which severely limits the speed at which VMACS can poll the voice-mail machines for their data. For large customers, it can often take hours to poll a single computer. The ADAP limitation exists despite the fact that most of the newer voice-mail servers are capable of communicating over faster TCP/IP based networks for peer coordination and maintenance purposes. p 2) ADAP, as a separate program, has to be installed in a user""s computer in addition to the VMACS-Plus software. This complicates the installation process for a majority of users who do not need the acquisition software for any other reason, and also creates more expense. Also, since the ADAP client component is a DOS-based program, proper configuration is problematic under such operating systems as WINDOWS NT or other GUI based systems. p 3) Finally, the rudimentary DOS interface VMACS was required to use when calling the ADAP executables did not provide VMACS with a way to respond dynamically to different error conditions. In fact, any error(s) encountered during a polling session forced the VMACS software to abort the process and try again.
Wherefore, it is an object of the present invention to overcome the aforementioned problems and drawbacks associated with the prior art designs.
The Data acquisition and Remote administration System, according to the present invention, consists of a graphical user interface (GUI) application program, a client polling and administration (CPA) program on the user""s computer, and a server polling and administration (SPA) program on the server computer. For a Lucent voice-mail system, the CPA replaces the old ADAP client programs. Instead of having an application communicating through ADAP, the system of the present invention has its own built-in advanced polling and administration program, thus streamlining and accelerating the entire communication process.
The system uses the KERMIT file transfer protocol in conjunction with TCP/IP based networks for enhanced data acquisition and transfer. A user (typically, a voice-mail system administrator or manager), via the application program, instructs the computer as to what information the user desires. The CPA establishes a TCP/IP network or serial connection and activates the SPA, which prepares the server to receive encoded instructions for data transfer operations or administrative command processing. In response to client commands embedded in KERMIT xe2x80x9cfile requestxe2x80x9d packets, the server compiles and sends requested data back to the client using the KERMIT data transfer protocol. In addition, the client can send server update commands in the form of specially formatted KERMIT files, allowing the user to change the operational configuration of the voice-mail system.
One feature of the present invention is that although products that collect voice mail system data and support remote administration using KERMIT have been developed in the past, the system according to the present invention is the first to provide this functionality over a TCP/IP network channel.
Another feature is that the present invention supports the use of long KERMIT packets, further increasing data polling and transfer performance.
Yet another feature is that the system, according to the present invention, can be used with both conventional serial dial-up methods as well as TCP/IP network connections. This results in increased flexibility for the user.
Another feature is that the present invention is directly compatible with Microsoft""s WINDOWS operating systems, and, correspondingly, it offers a graphical user interface (GUI).
Another objective of the present invention is to eliminate Lucent""s client-side ADAP program to thereby to streamline the communication process.
Yet another objective of the present invention is to provided a system which allows technical support personnel to examine polling transactions as they occur in order to help the technical support personnel more effectively troubleshoot configuration and equipment problems without going on-site. With an ADAP based system, for example, this detailed investigation was generally not possible.
Still another object of the present invention is to provide a system that can diagnose connection problems or server anomalies more effectively and respond dynamically thereto.
The present invention relates to a system for data acquisition and remote administration communications between at least one client computer and a voice mail server computer, the system comprising: the voice mail server computer having at least one internal database having at least one data record; the at least one client computer and the voice mail server computer each having communication means for establishing a communications link and transferring information to each other; the at least one client computer having data acquisition means for transmitting to the server computer, once the communications link has been established by the communication means, a request for information including at least one identifier of at least one of the data records stored in an internal data base of the voice mail server computer system via use of a KERMIT data transfer protocol; and the voice mail server computer system having means for receiving request via the KERMIT data transfer protocol from the at least one client computer and file compilation means for compiling a file composed of a data set of the identified data records and sending the file via the communication means to the at least one client computer using the KERMIT data transfer protocol.
The present invention also relates to a computer executable software code stored on a computer readable medium, the code for remotely administering and acquiring data from a voice mail server computer having at least one internal database having at least one data record and at least one modifiable operational parameter by which the operation of the database is governed, the code comprising: code, responsive to a command provided by an application upon the input of at least one of a requested database record and an administrative command, the administrative command having at least an identification of which modifiable operational parameter to modify and data for modifying the parameter, to establish a communications link to the voice mail server for transferring information according to a KERMIT protocol; code, responsive to the application requesting the at least one database record, to transmit to the voice mail server computer, once the communications link has been established, at least one identifier of at least one of the data records to be sent by the voice mail server, the at least one identifier being in a KERMIT receive file request packet; and code, responsive to the application providing the at least one administrative command, to transmit to the voice mail server, once a communications link has been established, i) at least one KERMIT send initiation packet to alert the voice mail server that an administrative command is going to be sent, ii) at least one KERMIT file header packet containing the identification of which modifiable operational parameter to modify, and iii) at least one KERMIT file data packet containing the data for modifying the parameter.